
import json

'''
JSON

一、JSON、JSON字符串、JSON对象、
JSON:
JSON是一种轻量级的数据交换格式，全称是JavaScript对象标记(JavaScript Object Notation)

JSON字符串
字符串是JSON的表现形式，符合JSON格式的字符串才叫作JSON字符串 
{a："fengzi" :    不是JSON字符串
{"name":"fengzi"} JSON字符串   

JSON对象：
JavaScript有JSON对象的叫法，但是在Python中其实是不称之为JSON对象的


二、JSON VS XML
1.更容易阅读
2.更容易解析，实现跨语言交换数据
3.网络传输效率高
'''

#三、反序列化：将JSON字符串转化成Python对象
print("\n------测试反序列化------")
#JSON字符串转化为dict
json_objectStr = '{"name":"fengzi","age":18,"flag":false}'
result1 = json.loads(json_objectStr)  
print(result1)   #打印：{'name': 'fengzi', 'age': 18, 'flag': False}

#注意：false被转话为False

#JSON字符串转化为list
json_arrayStr = '["春","夏","秋","冬"]'
result2 = json.loads(json_arrayStr)  
print(result2)   #打印：['春', '夏', '秋', '冬']

'''
JSON     Python
object   dict
array    list
string   str
number   int
number   float
true     True
false    False
null     None

'''

#四、序列化:将Python对象转化为JSON字符串
print("\n------测试序列化------")
student = [{"name":"小明","age":16},
           {"name":"小红","age":17},
           {"name":"小丽","age":18}
          ]
jsonStr_student = json.dumps(student)
print(jsonStr_student)
print(type(student))  #打印：<class 'list'>


#扩展：REST服务的标准格式就是JSON

